home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / lib / tcl / demos / mkIcon.tcl < prev    next >
Encoding:
Text File  |  1992-08-13  |  1.5 KB  |  44 lines

  1. # mkIcon w
  2. #
  3. # Create a top-level window that displays a bunch of iconic
  4. # buttons.
  5. #
  6. # Arguments:
  7. #    w -    Name to use for new top-level window.
  8.  
  9. proc mkIcon {{w .icon}} {
  10.     global tk_library
  11.     catch {destroy $w}
  12.     toplevel $w
  13.     dpos $w
  14.     wm title $w "Iconic Button Demonstration"
  15.     wm iconname $w "Icons"
  16.     message $w.msg -font -Adobe-times-medium-r-normal--*-180* -aspect 300 \
  17.         -text "This window shows three buttons that display bitmaps instead of text.  On the left is a regular button, which changes its bitmap when you click on it.  On the right are two radio buttons.  Click the \"OK\" button when you're done."
  18.     frame $w.frame -borderwidth 10
  19.     pack append $w.frame \
  20.     [button $w.frame.b1 -bitmap @$tk_library/demos/bitmaps/flagdown  \
  21.         -command "iconCmd $w.frame.b1"] {left expand} \
  22.     [frame $w.frame.right] {left expand}
  23.     radiobutton $w.frame.right.b2 -bitmap @$tk_library/demos/bitmaps/letters \
  24.         -variable letters
  25.     radiobutton $w.frame.right.b3 -bitmap @$tk_library/demos/bitmaps/noletters \
  26.         -variable letters
  27.     pack append $w.frame.right $w.frame.right.b2 {top expand} \
  28.         $w.frame.right.b3 {top expand}
  29.     button $w.ok -text OK -command "destroy $w"
  30.  
  31.     pack append $w $w.msg {top frame c} $w.frame {top expand fill} \
  32.         $w.ok {bottom fill}
  33. }
  34.  
  35. proc iconCmd {w} {
  36.     global tk_library
  37.     set bitmap [lindex [$w config -bitmap] 4]
  38.     if {$bitmap == "@$tk_library/demos/bitmaps/flagdown"} {
  39.     $w config -bitmap @$tk_library/demos/bitmaps/flagup
  40.     } else {
  41.     $w config -bitmap @$tk_library/demos/bitmaps/flagdown
  42.     }
  43. }
  44.